View Javadoc
1 /* 2 * Created by IntelliJ IDEA. 3 * User: birchfield 4 * Date: Aug 18, 2002 5 * Time: 4:55:54 PM 6 * To change template for new class use 7 * Code Style | Class Templates options (Tools | IDE Options). 8 */ 9 package net.plugin.sql.util; 10 11 import net.plugin.sql.listeners.QueryListener; 12 13 import java.util.*; 14 15 public class QueryManager implements QueryListener { 16 17 public static QueryManager instance = null; 18 19 private List queries = null; 20 private Collection listeners = null; 21 22 private QueryManager() { 23 queries = new ArrayList(); 24 listeners = new ArrayList(); 25 } 26 27 public static QueryManager getInstance() { 28 if (instance == null) { 29 instance = new QueryManager(); 30 } 31 return instance; 32 } 33 34 public synchronized void addQuery(String query) { 35 if (queries.contains(query)) 36 return; 37 //ifwe are at 50, pop the first one off 38 if (queries.size() == 50) { 39 queries.remove(0); 40 } 41 //add to the end. We will loop backwards to build the list 42 queries.add(0, query); 43 notifyListeners(query); 44 } 45 46 public List getQueries() { 47 List copy = new ArrayList(queries); 48 return copy; 49 } 50 51 52 private void notifyListeners(String query) { 53 for (Iterator iterator = listeners.iterator(); iterator.hasNext();) { 54 QueryListener queryListener = (QueryListener) iterator.next(); 55 queryListener.queryPerformed(query); 56 } 57 } 58 59 public void queryPerformed(String query) { 60 addQuery(query); 61 } 62 63 public void removeQueryListener(QueryListener listener) { 64 listeners.remove(listener); 65 } 66 public void addQueryListener(QueryListener listener) { 67 listeners.add(listener); 68 } 69 70 }

This page was automatically generated by Maven